'''
封装爬取内容的工具类
'''
import requests
from bs4 import BeautifulSoup

class Scrawler():
    def __init__(self):
        # 爬虫构造函数 接收url
        self.headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.54'
        }

    def getCodes(self, url):
        return requests.get(url, headers=self.headers).text

    #获取纯文本
    def getTexts(self, url, selector):
        bs = BeautifulSoup(self.getCodes(url), "html.parser")
        return [item.text for item in bs.select(selector=selector)]

    #获取超链接URL地址
    def getUrl(self, url, selector):
        bs = BeautifulSoup(self.getCodes(url), "html.parser")
        return [item.attrs['href'] for item in bs.select(selector=selector)]

    #获取图片的SRC地址
    def getImgUrl(self, url, selector):
        bs = BeautifulSoup(self.getCodes(url), "html.parser")
        return [item.attrs['src'] for item in bs.select(selector=selector)]

    #爬取图片
    def getImags(self, url,imgName):
        rs = requests.get(url,headers=self.headers).content
        with open(imgName,'wb') as f:
            f.write(rs)